/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package conceitos.controle;

import conceitos.DAO.ContaDAO;
import conceitos.modelo.entidades.Aluno;
import conceitos.modelo.entidades.Conta;
import conceitos.modelo.interfaces.ContaRemote;
import java.util.List;

/**
 *
 * @author jeferson
 */
public class ContaControle implements ContaRemote{
    private ContaDAO contaDAO;
    private AlunoControle alunoControle;
    private Aluno aluno;

    public ContaControle() {
        contaDAO = new ContaDAO();
        alunoControle = new AlunoControle();
        aluno = new Aluno();
    }
    
    /*
     * a inserção deve inserir o aluno e criar a conta em banco
     * assim caso o aluno não seja criado o metodo retorna false
     * caso a conta não seja criada ele apaga o aluno e depois 
     * retorna false
     */
    @Override
    public boolean insert(Conta conta) {
        boolean contaCriada = false;
        int idAluno = alunoControle.insert(aluno);
        if(idAluno != -1){
            aluno.setIdAluno(idAluno);
            conta.setIdAluno(idAluno);
            
                contaCriada = contaDAO.insert(conta);
                if (contaCriada == true)
                    return true;
                else {
                    alunoControle.delete(aluno);
                    return false;
            } 
        }
        else{
            return false;
        }
    }

    @Override
    public void delete(Conta conta) {
        contaDAO.delete(conta.getIdConta());
    }

    @Override
    public void update(Conta conta) {
        contaDAO.update(conta);
    }

    @Override
    public List<Conta> selectAll(String filtro) {
        return contaDAO.selectAll(filtro);
    }
    
    @Override
    public Conta select(String login) {
       return contaDAO.select(login);
    }

    public void setAluno(Aluno aluno) {
        this.aluno = aluno;
    }
    
        public boolean isString(String teste){
        if("".equals(teste)){
            return false;
        }
        char[] numeros = new char[10];
        for (int i = 0; i < 10; i++) {
            numeros[i] = String.valueOf(i).charAt(0);
        }
        char[] nome = teste.toCharArray();

        for (int i = 0; i < nome.length; i++) {
            for (int j = 0; j < numeros.length; j++) {
                if (nome[i] == numeros[j]) {
                    return false;
                }
            }
        }
        return true;
    }
}
